# -*- coding:utf-8 -*-
"""
动作链
ActionChains方法列表
    click(on_element=None) ——单击鼠标左键
    click_and_hold(on_element=None) ——点击鼠标左键，不松开
    context_click(on_element=None) ——点击鼠标右键
    double_click(on_element=None) ——双击鼠标左键
    drag_and_drop(source, target) ——拖拽到某个元素然后松开
    key_down(value, element=None) ——按下某个键盘上的键
    key_up(value, element=None) ——松开某个键
    move_to_element(to_element) ——鼠标移动到某个元素
    perform() ——执行链中的所有动作
    release(on_element=None) ——在某个元素位置松开鼠标左键
    send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
    send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素
    move_by_offset(x,y)  ——移动到某个坐标
"""
# 鼠标的移动
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains


driver = webdriver.Chrome()
driver.get("http://sahitest.com/demo/mouseover.htm")


display = driver.find_element(By.XPATH, '/html/body/form/input[1]')


Hidden = driver.find_element(By.XPATH, '/html/body/form/input[2]')

action = ActionChains(driver)      # 创建动作链对象
time.sleep(3)

# 将鼠标移动到display, 显示内容
action.move_to_element(display).perform()
time.sleep(3)

# 将鼠标移动到Hidden, 隐藏内容
action.move_to_element(Hidden).perform()
